package main

import (
	"context"
	"src/advance"
	"src/test"
)

// // 插入数据
// func main() {
// 	mongo, _ := test.GetMongo()
// 	ctx := context.TODO()

// 	add1 := test.Add1{Id: 1, Text: "hello world"}
// 	add1.Add(mongo, ctx)

// 	add2 := test.Add2{Id: 2, TextList: []string{"hello1", "hello2", "hello3"}}
// 	add2.Add(mongo, ctx)

// 	temp1 := test.Add1{Id: 1, Text: "hello1"}
// 	temp2 := test.Add1{Id: 2, Text: "hello2"}
// 	temp3 := test.Add1{Id: 3, Text: "hello3"}
// 	temp4 := test.Add1{Id: 4, Text: "hello4"}
// 	temp5 := test.Add1{Id: 5, Text: "hello5"}

// 	add3_1 := test.Add3{Id: 3, Add1List: []test.Add1{temp1, temp2, temp3}}
// 	add3_2 := test.Add3{Id: 4, Add1List: []test.Add1{temp1, temp2, temp3, temp4}}
// 	add3_3 := test.Add3{Id: 5, Add1List: []test.Add1{temp1, temp2, temp3, temp4, temp5}}
// 	test.AddMany(mongo, ctx, add3_1, add3_2, add3_3)

// }

// // 查询数据
// func main() {
// 	mongo, _ := test.GetMongo()
// 	ctx := context.TODO()

// 	// 普通查询
// 	// test.FindAll(mongo, ctx)
// 	// test.FindAdd(mongo, ctx)

// 	// 指定字段查询
// 	// test.FindField(mongo, ctx)

// 	// 其他条件查询
// 	test.Find(mongo, ctx)
// }

// // 更新数据
// func main() {
// 	mongo, _ := test.GetMongo()
// 	ctx := context.TODO()
// 	test.Update(mongo, ctx)
// }

// 删除数据
func main() {
	mongo, _ := test.GetMongo()
	ctx := context.TODO()

	// // 新增数据,基础
	// create.Base(mongo, ctx)
	// // 新增数据，进阶
	// create.Advance(mongo, ctx)

	// 基础查询
	// query.Base(mongo, ctx)
	//数组相关查询
	// query.ArrayARun(mongo, ctx)
	// 高级查询
	// query.AdvanceRun(mongo, ctx)

	// 进阶更新
	// update.AdvanceRun(mongo, ctx)

	// 删除
	// delete.Base(mongo, ctx)

	// 高级功能
	// advance.RunCount(mongo, ctx)
	// advance.RunDistinct(mongo, ctx)
	advance.RunGroup(mongo, ctx)
}
